var location = require("../../../../mybehaviors/location/location");
var app = getApp();
Component({
  behaviors: [location],

  properties: {
    params: {
      type: null,
    },
  },
  data: {
    stores: [],
    address: "",
    point: {
      lat: "",
      lng: "",
    },
    city: "",
    showMore: false,
    page: 1,
    total_page: 0,
    loading: true,
    language: "",
  }, // 私有数据，可用于模板渲染

  lifetimes: {
    // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
    attached() {
      let language = wx.getStorageSync("langIndex");
      this.setData({ language: language.en });
    },
    moved() {},
    detached() {},
  },

  // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
  attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖
  ready() {
    this._getLocation(()=> {
      this.getStores();
    });
  },

  pageLifetimes: {
    // 组件所在页面的生命周期函数
    show() {},
    hide() {},
    resize() {},
  },

  methods: {
    toGood(e) {
      let id = e.currentTarget.dataset.goods_id;
      wx.navigateTo({
        url: "/packageA/detail_v2/detail_v2?id=" + id,
      });
    },
    getStores() {
      let that = this;
      let urlStr = app.getNetAddresss(
        "plugin.store-cashier.frontend.store.store.get-store-list-to-page"
      );
      let point = app.qqMapTransBMap(
        parseFloat(this.data.point.lng),
        parseFloat(this.data.point.lat)
      );
      urlStr += "&page=" + that.data.page;
      urlStr += "&lng=" + (point.lng ? point.lng : "");
      urlStr += "&lat=" + (point.lat ? point.lat : "");
      urlStr += "&kwd=";
      urlStr += "&city_name=" + this.data.city;
      urlStr += "&pagesize=" + this.data.params.num;
      urlStr += "&showshop=" + this.data.params.showshop;
      app._getNetWork({
        url: urlStr,
        success: function (resdata) {
          var res = resdata.data;
          if (res.result == 1) {
            that.setData({
              showMore: true,
              stores: res.data.data,
            });
            if (res.data.last_page) {
              that.setData({
                total_page: res.data.last_page,
              });
            } else if (res.data.lastPage) {
              that.setData({
                total_page: res.data.lastPage,
              });
            }
            if (that.data.page >= that.data.total_page) {
              that.setData({
                loading: false,
              });
            } else {
              that.setData({
                loading: true,
              });
            }
          }
        },
        fail: function (res) {
          console.log(res.msg);
        },
      });
    },
    toRouter(e) {
      let specify_show = e.currentTarget.dataset.items.specify_show;
      let item = e.currentTarget.dataset.items;
      if (specify_show == 1) {
        wx.navigateTo({
          url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + item.id,
        });
      } else {
        if(item.store_decorate == 1) {
          wx.navigateTo({
            url: "/packageG/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
          });
        }else {
          wx.navigateTo({
            url: "/packageC/o2o/HomeSeller/HomeSeller?store_id=" + item.id,
          });
        }
      }
    },
    //跳转至分类
    toClassify(e) {
      let id = e.currentTarget.dataset.id;
      let name = e.currentTarget.dataset.name;
      wx.navigateTo({
        url:
          "/packageC/o2o/o2oCategory/o2oCategory?id=" +
          id +
          "&city=" +
          this.data.city +
          "&point=" +
          JSON.stringify(this.data.point) + '&name='+name,
      });
    },
    gophone(e) {
      let mobile = e.currentTarget.dataset.mobile;
      wx.makePhoneCall({
        phoneNumber: mobile,
      });
    },
    goToAdress(e) {
      let latitude = e.currentTarget.dataset.items.latitude;
      let longitude = e.currentTarget.dataset.items.longitude;
      let store_name = e.currentTarget.dataset.items.store_name;
      let point = app.BMapTransqqMap(
        parseFloat(longitude),
        parseFloat(latitude)
      );
      wx.openLocation({
        latitude: point.lat,
        longitude: point.lng,
        scale: 18,
        name: store_name,
      });
    },
    getMoreStores() {
      let that = this;
      if (this.data.page == this.data.total_page) {
        that.setData({
          loading: false,
        });
        return;
      }
      if (this.data.page > this.data.total_page) {
        that.setData({
          loading: false,
        });
        return;
      } else {
        that.setData({
          page: this.data.page + 1,
        });
        let urlStr = app.getNetAddresss(
          "plugin.store-cashier.frontend.store.store.get-store-list-to-page"
        );
        let point = app.qqMapTransBMap(
          parseFloat(this.data.point.lng),
          parseFloat(this.data.point.lat)
        );
        urlStr += "&page=" + this.data.page;
        urlStr += "&lng=" + (point.lng ? point.lng : "");
        urlStr += "&lat=" + (point.lat ? point.lat : "");
        urlStr += "&kwd=";
        urlStr += "&city_name=" + this.data.city;
        urlStr += "&pagesize=" + this.data.params.num;
        urlStr += "&showshop=" + this.data.params.showshop;
        app._getNetWork({
          url: urlStr,
          success: function (resdata) {
            var res = resdata.data;
            if (res.result == 1) {
              let stores = that.data.stores;
              that.setData({
                stores: stores.concat(res.data.data),
              });
              if (that.data.page == that.data.total_page) {
                that.setData({
                  loading: false,
                });
              }
            } else {
              that.setData({
                page: that.data.page - 1,
                loading: false,
              });
            }
          },
          fail: function (res) {
            console.log(res);
          },
        });
      }
    },
  },
});
